Virtual machines (VMs) are increasingly used in a plurality of different applications. The VMs operate in a VM environment and typically are hosted on physical computing machines. Typically, to interconnect between the VMs there is a virtual network, which is configured to allow the VMs to communicate with each other. The VMs may be computing machines, storage machines, databases, and more, all being virtualized in the VM environment. The virtual network enables the VMs to communicate with each other. For example, a VM which operates as a server, may access another VM which operates as a database for reading, writing, and modifying data therein.
In typical applications there is also a need to operate outside of this virtual environment, that is, allow access to and from the VMs. For example, a user device on the Internet may wish to communicate with a server executing VM. For that purpose, the server is configured to have a network (e.g., Internet) access and using a network address translation (NAT) it is possible for the user device to communicate with the server in the VM environment. However, it may not necessarily be desirable to allow all components of the VM environment to have Internet access. For example, a VM database component may be configured not to have Internet access. For that matter, the user device, when needing to access the VM database, communicates with the VM server and the VM database over the virtual network connected in between. As a result, the user device cannot connect directly with the VM database from an external network. The external network which may become a challenge in case there is a need to access a VM component not having Internet or, for that matter, external access. However, there are cases where such external access by a VM component is desirable, for example, for the purpose of maintenance. The operation of the current state-of-the-art NAT does not provide support for such capability
Therefore, in order to overcome the deficiency of the prior art, it would be further advantageous to provide a solution that allows VM components access to an external network.